<template>
  <view class="container">
    <!-- 触发下载的按钮 -->
    <button @click="downloadImage">下载并显示图片</button>
    <!-- 显示下载后的图片 -->
    <image v-if="imagePath" :src="imagePath" mode="aspectFit" class="preview-image"></image>
    <view v-else>图片未下载</view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      imagePath: '' // 存储下载后图片的临时路径
    }
  },
  methods: {
    downloadImage() {
      uni.downloadFile({
        url: 'https://cdn.pixabay.com/photo/2025/11/05/20/57/monastery-9939590_1280.jpg', // 目标图片地址
        // 监听下载进度
        onProgressUpdate: (res) => {
          console.log('下载进度：' + res.progress + '%'); // 打印进度日志
          console.log('已下载字节数：' + res.totalBytesWritten);
          console.log('总字节数：' + res.totalBytesExpectedToWrite);
        },
        success: (res) => {
          if (res.statusCode === 200) {
            this.imagePath = res.tempFilePath; // 赋值临时路径，显示图片
            console.log('图片下载成功，临时路径：' + res.tempFilePath);
          }
        },
        fail: (err) => {
          console.error('图片下载失败：', err);
          uni.showToast({ title: '下载失败', icon: 'none' });
        }
      });
    }
  }
}
</script>

<style scoped>
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20rpx;
}
.preview-image {
  width: 600rpx;
  height: 400rpx;
  margin-top: 30rpx;
}
</style>
